package bean.srv;

import java.text.DateFormat;
import java.text.ParseException;
import java.util.List;

import dominio.Cotizacion;
import dominio.FormaPago;
import dominio.SolicitudCotizacion;
import bean.dao.HibernateCotizacionDAO;

public class CotizacionSRV {
	private static HibernateCotizacionDAO dao= HibernateCotizacionDAO.getInstancia();
	
	public Cotizacion getCotizacion(int numeroCotizacion){
		return dao.getCotizacion(numeroCotizacion);
	}
	
	public Cotizacion newCotizacion(String fecha, String vigenciaDesde, String vigenciaHasta,
			String estado, FormaPago formaPago){
		Cotizacion cotizacion = new Cotizacion();
		cotizacion.setFecha(fecha);
		try {
			cotizacion.setVigenciaDesde(DateFormat.getInstance().parse(vigenciaDesde));
			cotizacion.setVigenciaHasta(DateFormat.getInstance().parse(vigenciaHasta));
		} catch (ParseException e) {
			e.printStackTrace();
		}
		cotizacion.setEstado(estado);
		cotizacion.setFormaPago(formaPago);
		dao.persistCotizacion(cotizacion);
		return cotizacion;
	}
	
	public void asignarSolicitudCotizacion(Cotizacion cotizacion, SolicitudCotizacion solicitudCotizacion){
		cotizacion.setSolicitudCotizacion(solicitudCotizacion);
		dao.updateCotizacion(cotizacion);
	}
	
	public SolicitudCotizacion getSolicitudCotizacion(int numeroSolicitud){
		return dao.getSolicitudCotizacion(numeroSolicitud);
	}
	
	public void cambiarEstado(Cotizacion cotizacion, String nuevoEstado){
		cotizacion.setEstado(nuevoEstado);
		dao.updateCotizacion(cotizacion);
	}
	
	public void agregarSolicitudCotizacion(List<SolicitudCotizacion> solicitud){
		dao.agregarSolicitudCotizacion(solicitud);
	}
	
	public void agregarSolicitud(SolicitudCotizacion s){
		dao.agregarSolicitud(s);
	}
}
